package com.sinog.biz.service.business;

import com.sinog.core.model.UserDTO;
import com.sinog.core.utilbean.Result;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;

/**
 * @desc 安置帮教管理 - 业务协调 - 业务协调 - 跨省业务协调  WorkCoordinationService
 * @author -
 * @date 2020年2月5日 20点48分
 */
@RestController
public interface WorkCoordinationService {

    /**
     * 安置帮教管理 - 业务协调 - 业务协调 - 跨省业务协调列表
     * @param pageIndex 起始页
     * @param pageSize 止页
     * @param departId 当前登录用户部门编号
     * @param level 当前登录用户level
     * @param orgid 当前登录用户上级编号
     * @param queryDataMap 前台传输查询条件
     * @return String
     */
    @GetMapping("/azbj/workCoordinationList")
    String getWorkCoordinationList(
            @RequestParam(value = "pageIndex", required = false) Integer pageIndex,
            @RequestParam(value = "pageSize", required = false) Integer pageSize,
            @RequestParam(value = "departid", required = false) String departId,
            @RequestParam(value = "level", required = false) int level,
            @RequestParam(value = "orgid", required = false) String orgid,
            @RequestParam Map<String,String> queryDataMap);

    /**
     * 安置帮教管理 - 业务协调 - 业务协调 - 上报按钮(获取基本信息)
     * @param priNum 服刑人员编号
     * @return String
     */
    @RequestMapping("/azbj/getInterProvincialBusinessInfo")
    String getInterProvincialBusinessInfo(@RequestParam("priNum") String priNum);

    /**
     * 安置帮教管理 - 业务协调 - 业务协调 - 上报 - 保存按钮
     * @param data 页面真实数据
     * @param user user
     * @return Result
     */
    @RequestMapping("/azbj/saveApply")
    Result saveApply(@RequestParam("data") String data,@RequestBody UserDTO user);

    /**
     * 安置帮教管理 - 业务协调 - 业务协调 - 第三省份 处理(同意或拒绝)
     * @param data 页面真实数据
     * @param user user
     * @return Result
     */
    @RequestMapping("/azbj/saveDeal")
    Result saveDeal(@RequestParam("data") String data,@RequestBody UserDTO user);

    /**
     * 安置帮教管理 - 业务协调 - 业务协调 - 回显抄送单位
     * @param departId 机构编码
     * @return List<Map < String,Object>>
     */
    @RequestMapping("/azbj/getDepartmentCoordinate")
    List<Map<String,Object>> getDepartmentCoordinate(@RequestParam("departId") String departId);

    /**
     * 安置帮教管理 - 业务协调 - 业务协调 - 原司法厅上报协调失败后指定本省司法所
     * @param data 业务数据
     * @param user 当前登录用户
     * @return Result
     */
    @RequestMapping("/azbj/saveDealOrigin")
    Result saveDealOrigin(@RequestParam("data") String data,@RequestBody UserDTO user);
}